버킷플레이스 피드백 분석2, 3, 5

InfiniteScroll은 재활용 할 수 없도록 구현되어 있습니다.

각종 Hook, Event, Component 등들을 모두 기능별로 나누고 하나의 함수는 단 하나의 기능만 사용하게 하여 재사용할 수 있도록 했다고 생각했지만, 해당 이벤트를 담당하는 훅은 그렇지 않았던것 같다.

코드 내용을 공개하는것이 불가능하기 떄문에 대충 보면

  • 실행되는 이벤트 선언
  • 이벤트를 부여하고 조건에 따라 제거하는 훅
  • 스크롤 이벤트 에 따른 throttling

    특정 변수값의 boolean을 막고 풀고를 통해 해왔는데, lodash에서 해당 api를 제공한다고 함..

생각해보면 해당 훅에서 필요한것은 두번째 것 뿐이다.

진행되는 이벤트는 변수를 통해서 받아야 다양한곳에서 재활용 가능하며, 데이터패칭을 막는 throttling또한, 이 컴포넌트에서만 사용되므로 빼는것이 좋을듯 하다.

사진 컴포넌트 키에 index를 사용하고 있습니다. Index 보다는 사진 아이디를 사용하는 것이 더 나은 방법입니다.

React로 컴포넌트를 반복적으로 생성할 때, key라는 속성을 꼭 지정해주어야 한다.

나는 지금까지 이 속성에 그냥 .map api에서 순차적으로 제공하는 index를 부여해왔는데, 해당 값 에대한 고유한 값을 부여하는것이 좋다고 한다.

뭐 이름이라던지, 아이디라던지..

시맨틱 마크업으로 작성되어 있지 않습니다.

시맨틱 마크업을 전혀 사용하지 않고 있었다. 사실상 div와 다를게 없다는 이유로 그냥 안써왔는데, 멀리서 봤을 때 가독성이 좋고, 해당 컴포넌트가 대략적으로 어떤 역할을 하는지 한번에 알 수 있기 때문에 꼭 사용해야하는것 같다.

앞으로 시맨틱 태그를 필수적으로 사용해야 할 듯..